|
@@ -12,40 +12,39 @@
|
|
|
size="large"
|
|
|
>
|
|
|
<el-form-item label="合同编号:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.number"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="合同名称:" prop="key2">
|
|
|
- <el-input v-model="formInvoiceModel.key2"/>
|
|
|
+ <el-form-item label="合同名称:" prop="name">
|
|
|
+ <el-input v-model="formBaseModel.name"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="合同类型:" prop="key2">
|
|
|
- <el-select block v-model="formInvoiceModel.key3">
|
|
|
- <el-option label="选项1" value="选项1"/>
|
|
|
- <el-option label="选项2" value="选项2"/>
|
|
|
- </el-select>
|
|
|
+
|
|
|
+ <el-form-item label="合同类型:" prop="contractType">
|
|
|
+ <el-select v-model="formBaseModel.contractType" block clearable placeholder="合同类型:">
|
|
|
+ <el-option v-for="item in contractType" :label="item.dictName" :value="item.dictValue"/>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属项目:" prop="key2">
|
|
|
- <el-select block v-model="formInvoiceModel.key4">
|
|
|
- <el-option label="选项1" value="选项1"/>
|
|
|
- <el-option label="选项2" value="选项2"/>
|
|
|
+ <el-form-item label="所属项目:" prop="projectId" block clearable placeholder="所属项目:">
|
|
|
+ <el-select block v-model="formBaseModel.projectId">
|
|
|
+ <el-option v-for="item in projectList" :label="item.name" :value="item.id"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="签订时间:" prop="key2">
|
|
|
- <el-date-picker class="block" v-model="formInvoiceModel.key5" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD"/>
|
|
|
+ <el-form-item label="签订时间:" prop="contractSignTime">
|
|
|
+ <el-date-picker class="block" v-model="formBaseModel.contractSignTime" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="合同起止日期:" prop="key2">
|
|
|
+ <el-form-item label="合同起止日期:" >
|
|
|
<HcDatePicker :dates="betweenTime" clearable :disabled="isDisabled" @change="betweenTimeUpdate"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="对方单位回款联系人名称:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.returnedUserName"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="对方单位回款联系人电话:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.returnedUserPhone"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="合同已履约回款:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.returnedMoney"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="合同未履约回款:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.unreturnedMoney"/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-scrollbar>
|
|
@@ -55,7 +54,7 @@
|
|
|
<div class="title">开票相关信息</div>
|
|
|
<div class="invoice-form">
|
|
|
<el-form ref="formInvoiceRef"
|
|
|
- :model="formInvoiceModel"
|
|
|
+ :model="formBaseModel"
|
|
|
:rules="formInvoiceRules"
|
|
|
:disabled="isDisabled"
|
|
|
label-position="left"
|
|
@@ -63,25 +62,25 @@
|
|
|
size="large"
|
|
|
>
|
|
|
<el-form-item label="发票抬头:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.invoiceHead"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="纳税人识别号:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.taxpayerNumber"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开户银行:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.openAccountBank"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="银行账户:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.bankAccount"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="收件人:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.addresseeUserName"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="联系电话:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"/>
|
|
|
+ <el-input v-model="formBaseModel.addresseePhone"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="邮寄地址:">
|
|
|
- <el-input v-model="formInvoiceModel.key1"
|
|
|
+ <el-input v-model="formBaseModel.mailingAddress"
|
|
|
:autosize="{ minRows: 5, maxRows: 8 }"
|
|
|
type="textarea"
|
|
|
/>
|
|
@@ -106,11 +105,14 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import {ref, watch} from "vue";
|
|
|
-import {useRouter} from 'vue-router'
|
|
|
+import {ref, watch,onActivated} from "vue";
|
|
|
+import {useRouter,useRoute} from 'vue-router'
|
|
|
+import contractApi from '~api/project/project-contract.js';
|
|
|
+import {getArrValue} from "js-fast-way"
|
|
|
|
|
|
const router = useRouter()
|
|
|
-
|
|
|
+const useRoutes = useRoute()
|
|
|
+const dataType = ref(useRoutes?.query?.type ?? '')
|
|
|
//参数
|
|
|
const props = defineProps({
|
|
|
datas: {
|
|
@@ -131,6 +133,9 @@ watch(() => [
|
|
|
props.datas,
|
|
|
], ([datas]) => {
|
|
|
infoData.value = datas
|
|
|
+ formBaseModel.value=datas
|
|
|
+ betweenTime.value[0]=datas['startTime']
|
|
|
+ betweenTime.value[1]=datas['endTime']
|
|
|
}, {deep: true})
|
|
|
|
|
|
//监听
|
|
@@ -139,7 +144,18 @@ watch(() => [
|
|
|
], ([disabled]) => {
|
|
|
isDisabled.value = disabled
|
|
|
})
|
|
|
+onActivated(()=>{
|
|
|
+ dataType.value = useRoutes?.query?.type ?? ''
|
|
|
+ getContractType()
|
|
|
+ if( dataType.value=='add'){
|
|
|
+ getProjectList(1)
|
|
|
+ }else{
|
|
|
+ getProjectList(2)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
+})
|
|
|
//基础表单
|
|
|
const formBaseRef = ref(null)
|
|
|
const formBaseModel = ref({})
|
|
@@ -150,7 +166,7 @@ const formBaseRules = {
|
|
|
}
|
|
|
|
|
|
//日期时间被选择
|
|
|
-const betweenTime = ref(null)
|
|
|
+const betweenTime = ref([])
|
|
|
const betweenTimeUpdate = ({arr, query}) => {
|
|
|
betweenTime.value = arr
|
|
|
}
|
|
@@ -169,8 +185,29 @@ const goBackClick = () => {
|
|
|
|
|
|
//提交保存
|
|
|
const saveClick = () => {
|
|
|
+ console.log(formBaseModel.value,'formBaseModel');
|
|
|
|
|
|
}
|
|
|
+//获取合同类型
|
|
|
+const contractType=ref([])
|
|
|
+const getContractType=async()=>{
|
|
|
+ const {error, code, data} = await contractApi.getContractTypeDict()
|
|
|
+ if (!error && code === 200) {
|
|
|
+ contractType.value=getArrValue(data)
|
|
|
+ } else {
|
|
|
+ contractType.value=[]
|
|
|
+ }
|
|
|
+}
|
|
|
+//所属项目projectList
|
|
|
+const projectList=ref([])
|
|
|
+const getProjectList=async(type)=>{
|
|
|
+ const {error, code, data} = await contractApi.getNoConnectionProject({type})
|
|
|
+ if (!error && code === 200) {
|
|
|
+ projectList.value=getArrValue(data)
|
|
|
+ } else {
|
|
|
+ projectList.value=[]
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|