|
@@ -95,7 +95,7 @@
|
|
<el-button size="small" type="primary">点击上传</el-button>
|
|
<el-button size="small" type="primary">点击上传</el-button>
|
|
</el-upload>
|
|
</el-upload>
|
|
</template>
|
|
</template>
|
|
-
|
|
|
|
|
|
+
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -108,75 +108,71 @@
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
+ <el-divider></el-divider>
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <div>组卷归档默认信息</div>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="立卷人" prop="filer">
|
|
|
|
+ <el-input v-model="contractForm.filer"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="保管期限" prop="storagePeriod">
|
|
|
|
+ <el-select v-model="contractForm.storagePeriod" placeholder="请选择" class="w-100p">
|
|
|
|
+ <el-option label="10年" value="10年"></el-option>
|
|
|
|
+ <el-option label="30年" value="30年"></el-option>
|
|
|
|
+ <el-option label="永久" value="永久"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="审核人" prop="reviewer">
|
|
|
|
+ <el-input v-model="contractForm.reviewer"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="保管密级" prop="securityLevel">
|
|
|
|
+ <el-select v-model="contractForm.securityLevel" placeholder="请选择" class="w-100p">
|
|
|
|
+ <el-option label="机密" value="机密"></el-option>
|
|
|
|
+ <el-option label="绝密" value="绝密"></el-option>
|
|
|
|
+ <el-option label="秘密" value="秘密"></el-option>
|
|
|
|
+ <el-option label="公开" value="公开"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="档案前缀" prop="prefix">
|
|
|
|
+ <el-input v-model="contractForm.prefix"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <div>附加信息</div>
|
|
|
|
+ <el-form-item label="项目地址" prop="projectPlace">
|
|
|
|
+ <!-- <el-input v-model="contractForm.projectPlace" placeholder="点击后面地图选取地址">
|
|
|
|
+ <el-button slot="append" icon="el-icon-map-location" @click="mapDialogVisible = true"></el-button>
|
|
|
|
+ </el-input> -->
|
|
|
|
+ <avue-input-map :params="params" placeholder="请选择地图" v-model="flageData" @change="mapChange"></avue-input-map>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="起始桩号" prop="startStation">
|
|
|
|
+ <el-input v-model="contractForm.startStation"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="结束桩号" prop="endStation">
|
|
|
|
+ <el-input v-model="contractForm.endStation"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
</el-form>
|
|
</el-form>
|
|
- <el-divider></el-divider>
|
|
|
|
- <el-row :gutter="20">
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <div>组卷归档默认信息</div>
|
|
|
|
- <el-form label-width="90px">
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="立卷人" prop="filer">
|
|
|
|
- <el-input v-model="contractForm.filer"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="保管期限" prop="storagePeriod">
|
|
|
|
- <el-select v-model="contractForm.storagePeriod" placeholder="请选择" class="w-100p">
|
|
|
|
- <el-option label="10年" value="10年"></el-option>
|
|
|
|
- <el-option label="30年" value="30年"></el-option>
|
|
|
|
- <el-option label="永久" value="永久"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="审核人" prop="reviewer">
|
|
|
|
- <el-input v-model="contractForm.reviewer"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="保管密级" prop="securityLevel">
|
|
|
|
- <el-select v-model="contractForm.securityLevel" placeholder="请选择" class="w-100p">
|
|
|
|
- <el-option label="机密" value="机密"></el-option>
|
|
|
|
- <el-option label="绝密" value="绝密"></el-option>
|
|
|
|
- <el-option label="秘密" value="秘密"></el-option>
|
|
|
|
- <el-option label="公开" value="公开"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- <el-row>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="档案前缀" prop="prefix">
|
|
|
|
- <el-input v-model="contractForm.prefix"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
-
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
- </el-form>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <div>附加信息</div>
|
|
|
|
- <el-form label-width="90px">
|
|
|
|
- <el-form-item label="项目地址" prop="projectPlace">
|
|
|
|
- <!-- <el-input v-model="contractForm.projectPlace" placeholder="点击后面地图选取地址">
|
|
|
|
- <el-button slot="append" icon="el-icon-map-location" @click="mapDialogVisible = true"></el-button>
|
|
|
|
- </el-input> -->
|
|
|
|
- <avue-input-map :params="params" placeholder="请选择地图" v-model="flageData" ></avue-input-map>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="起始桩号" prop="startStation">
|
|
|
|
- <el-input v-model="contractForm.startStation"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="结束桩号" prop="endStation">
|
|
|
|
- <el-input v-model="contractForm.endStation"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
</div>
|
|
</div>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="分配WBS" name="2">
|
|
<el-tab-pane label="分配WBS" name="2">
|
|
@@ -240,9 +236,9 @@
|
|
<div class="flex jc-sb">
|
|
<div class="flex jc-sb">
|
|
<div></div>
|
|
<div></div>
|
|
<div>
|
|
<div>
|
|
- <el-button type="success" size="medium" @click="saveQuit">保存并退出</el-button>
|
|
|
|
- <el-button type="info" size="medium" v-if="activeType != 1" @click="saveNext('p')">保存并返回上一步</el-button>
|
|
|
|
- <el-button type="info" size="medium" v-if="activeType != 3" @click="saveNext('n')">保存并进入下一步</el-button>
|
|
|
|
|
|
+ <el-button type="success" size="medium" :loading="btnLoad" @click="saveQuit">保存并退出</el-button>
|
|
|
|
+ <el-button type="info" size="medium" :loading="btnLoad" v-if="activeType != 1" @click="saveNext('p')">保存并返回上一步</el-button>
|
|
|
|
+ <el-button type="info" size="medium" :loading="btnLoad" v-if="activeType != 3" @click="saveNext('n')">保存并进入下一步</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -270,6 +266,14 @@
|
|
treeTree
|
|
treeTree
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
|
|
+ var checkPlace = (rule, value, callback) => {
|
|
|
|
+ if (this.flageData && this.flageData.length >2 && this.flageData[2]) {
|
|
|
|
+ callback();
|
|
|
|
+ } else {
|
|
|
|
+ callback(new Error('请选取项目地址'));
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+
|
|
return {
|
|
return {
|
|
activeType:'1',
|
|
activeType:'1',
|
|
typeChang:{
|
|
typeChang:{
|
|
@@ -277,6 +281,7 @@
|
|
2:false,
|
|
2:false,
|
|
3:false,
|
|
3:false,
|
|
},
|
|
},
|
|
|
|
+ btnLoad:false,
|
|
|
|
|
|
pid:'',
|
|
pid:'',
|
|
cid:'',
|
|
cid:'',
|
|
@@ -287,11 +292,37 @@
|
|
headers:{},
|
|
headers:{},
|
|
isBackShow:false,
|
|
isBackShow:false,
|
|
|
|
|
|
- contractForm:{},
|
|
|
|
|
|
+ contractForm:{
|
|
|
|
+ contractAmount:0
|
|
|
|
+ },
|
|
contractRules:{
|
|
contractRules:{
|
|
contractName: [
|
|
contractName: [
|
|
{ required: true, message: '请输入合同段名称', trigger: 'blur' },
|
|
{ required: true, message: '请输入合同段名称', trigger: 'blur' },
|
|
],
|
|
],
|
|
|
|
+ contractType: [
|
|
|
|
+ { required: true, message: '请选择合同段类型', trigger: 'change' }
|
|
|
|
+ ],
|
|
|
|
+ contractNumber: [
|
|
|
|
+ { required: true, message: '请输入合同段编号', trigger: 'blur' },
|
|
|
|
+ ],
|
|
|
|
+ contractorUnitName: [
|
|
|
|
+ { required: true, message: '请输入业主单位名称', trigger: 'blur' },
|
|
|
|
+ ],
|
|
|
|
+ constructionUnitName: [
|
|
|
|
+ { required: true, message: '请输入施工单位名称', trigger: 'blur' },
|
|
|
|
+ ],
|
|
|
|
+ supervisionUnitName: [
|
|
|
|
+ { required: true, message: '请输入监理单位名称', trigger: 'blur' },
|
|
|
|
+ ],
|
|
|
|
+ startStation: [
|
|
|
|
+ { required: true, message: '请输入起始桩号', trigger: 'blur' },
|
|
|
|
+ ],
|
|
|
|
+ endStation: [
|
|
|
|
+ { required: true, message: '请输入结束桩号', trigger: 'blur' },
|
|
|
|
+ ],
|
|
|
|
+ projectPlace: [
|
|
|
|
+ { required: true,validator: checkPlace, trigger: 'blur' }
|
|
|
|
+ ]
|
|
},
|
|
},
|
|
|
|
|
|
mapDialogVisible:false,
|
|
mapDialogVisible:false,
|
|
@@ -379,7 +410,7 @@
|
|
}
|
|
}
|
|
|
|
|
|
this.getContractTypeList();
|
|
this.getContractTypeList();
|
|
- this.setHeaders();
|
|
|
|
|
|
+ this.setHeaders();
|
|
},
|
|
},
|
|
beforeLeave(activeName, oldActiveName){
|
|
beforeLeave(activeName, oldActiveName){
|
|
return new Promise((resolve,reject)=>{
|
|
return new Promise((resolve,reject)=>{
|
|
@@ -458,6 +489,7 @@
|
|
},
|
|
},
|
|
|
|
|
|
async saveQuit(){
|
|
async saveQuit(){
|
|
|
|
+ this.btnLoad = true;
|
|
if(this.activeType == '1'){
|
|
if(this.activeType == '1'){
|
|
await this.savecontract();
|
|
await this.savecontract();
|
|
}else if(this.activeType == '2'){
|
|
}else if(this.activeType == '2'){
|
|
@@ -467,15 +499,23 @@
|
|
type: "success",
|
|
type: "success",
|
|
message: "保存成功!"
|
|
message: "保存成功!"
|
|
});
|
|
});
|
|
|
|
+ this.btnLoad = false;
|
|
this.$router.go(-1);
|
|
this.$router.go(-1);
|
|
},
|
|
},
|
|
async saveNext(type){
|
|
async saveNext(type){
|
|
- if(this.activeType == '1'){
|
|
|
|
- let res = await this.savecontract();
|
|
|
|
- this.contractForm.id = res.data.data.id;
|
|
|
|
- }else if(this.activeType == '2'){
|
|
|
|
- await this.saveWbsTree();
|
|
|
|
|
|
+ this.btnLoad = true;
|
|
|
|
+ try {
|
|
|
|
+ if(this.activeType == '1'){
|
|
|
|
+ let res = await this.savecontract();
|
|
|
|
+ this.contractForm.id = res.data.data.id;
|
|
|
|
+ }else if(this.activeType == '2'){
|
|
|
|
+ await this.saveWbsTree();
|
|
|
|
+ }
|
|
|
|
+ } catch (error) {
|
|
|
|
+ this.btnLoad = false;
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
+
|
|
this.$message({
|
|
this.$message({
|
|
type: "success",
|
|
type: "success",
|
|
message: "保存成功!"
|
|
message: "保存成功!"
|
|
@@ -489,6 +529,7 @@
|
|
}
|
|
}
|
|
|
|
|
|
this.activeType = num.toString();
|
|
this.activeType = num.toString();
|
|
|
|
+ this.btnLoad = false;
|
|
},
|
|
},
|
|
|
|
|
|
savecontract(){
|
|
savecontract(){
|
|
@@ -631,7 +672,7 @@
|
|
message: "成功复制在剪贴板!"
|
|
message: "成功复制在剪贴板!"
|
|
});
|
|
});
|
|
})
|
|
})
|
|
-
|
|
|
|
|
|
+
|
|
},
|
|
},
|
|
|
|
|
|
resetPassword(row){
|
|
resetPassword(row){
|
|
@@ -729,6 +770,10 @@
|
|
|
|
|
|
treeChang(){
|
|
treeChang(){
|
|
this.typeChang[2] = true;
|
|
this.typeChang[2] = true;
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ mapChange(){
|
|
|
|
+ this.$refs['contractForm'].validateField('projectPlace');
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|