caichengyu 1 месяц назад
Родитель
Сommit
8e99ef63d6

+ 589 - 0
src/components/technician/index.vue

@@ -0,0 +1,589 @@
+
+<template>
+  <div id="">
+    <el-dialog
+      width="1200px"
+      v-if="subjectNames == '技术员'"
+      class="take-photo"
+      :visible.sync="Modal"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :show-close="false"
+    >
+      <el-form :model="form0" :rules="rules0" ref="form0">
+        <!-- <div class="size">
+        广东省建筑工程技术人才职称
+        <el-select v-model="form0.type" placeholder="请选择评审/认定">
+    <el-option label="评审" value="评审"></el-option>
+    <el-option label="认定" value="认定"></el-option>
+  </el-select>
+  评审认定信息预检表(技术员)
+      </div> -->
+        <table class="el-table">
+          <tbody>
+            <tr>
+              <td colspan="6">
+                <div class="size">
+                  广东省建筑工程技术人才职称
+                  <div style="width: 160px; display: inline-block">
+                    <el-form-item label="" prop="type">
+                      <el-select
+                        v-model="form0.type"
+                        placeholder="请选择评审/认定"
+                      >
+                        <el-option label="评审" value="评审"></el-option>
+                        <el-option label="认定" value="认定"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </div>
+                  评审认定信息预检表(技术员)
+                </div>
+              </td>
+            </tr>
+            <tr class="graybg">
+              <td colspan="6"><div class="cell">基本条件</div></td>
+            </tr>
+            <tr>
+              <td rowspan="2"><div class="cell">申报人员姓名</div></td>
+              <td rowspan="2"><div class="cell">申报等级、专业</div></td>
+              <td rowspan="2"><div class="cell">现工作单位</div></td>
+              <td rowspan="2"><div class="cell">参保单位</div></td>
+              <td colspan="2"><div class="cell">现单位参保起止时间</div></td>
+            </tr>
+            <tr>
+              <td><div class="cell">开始参保时间</div></td>
+              <td><div class="cell">结束参保时间</div></td>
+            </tr>
+            <tr>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="userName">
+                    <el-input
+                      v-model="form0.userName"
+                      placeholder="姓名"
+                    ></el-input>
+                  </el-form-item>
+                  <span
+                    class="tips userName"
+                    style="color: red; font-size: 12px"
+                  ></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="major">
+                    <el-input
+                      v-model="form0.major"
+                      placeholder="如建筑施工、技术员"
+                    ></el-input>
+                  </el-form-item>
+                  <span
+                    class="tips major"
+                    style="color: red; font-size: 12px"
+                  ></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="companyName">
+                    <el-input
+                      v-model="form0.companyName"
+                      placeholder="公司名称"
+                    ></el-input>
+                  </el-form-item>
+                  <span class="tips companyName" style=""></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="insured">
+                    <el-input
+                      v-model="form0.insured"
+                      placeholder="参保公司名称"
+                    ></el-input>
+                  </el-form-item>
+                  <span class="tips insured"></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="insuredStartTime">
+                    <el-date-picker
+                      type="date"
+                      placeholder="选择日期"
+                      format="yyyy-MM-dd"
+                      value-format="yyyy-MM-dd"
+                      v-model="form0.insuredStartTime"
+                      style="width: 100%"
+                    ></el-date-picker>
+                  </el-form-item>
+                  <span class="tips insuredStartTime"></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="insuredEndTime">
+                    <el-date-picker
+                      type="date"
+                      placeholder="选择日期"
+                      format="yyyy-MM-dd"
+                      value-format="yyyy-MM-dd"
+                      v-model="form0.insuredEndTime"
+                      style="width: 100%"
+                    ></el-date-picker>
+                  </el-form-item>
+                  <span class="tips insuredEndTime"></span>
+                </div>
+              </td>
+            </tr>
+            <tr class="graybg">
+              <td colspan="6"><div class="cell">基本条件</div></td>
+            </tr>
+            <tr>
+              <td><div class="cell">继续教育(评审要,认定不需要)</div></td>
+              <td colspan="3"><div class="cell">学历情况</div></td>
+              <td rowspan="2">
+                <div class="cell">是否持有建筑类其他证书</div>
+              </td>
+              <td rowspan="2"><div class="cell">其他说明</div></td>
+            </tr>
+            <tr>
+              <td><div class="cell">(本年度)</div></td>
+              <td><div class="cell">学历等级</div></td>
+              <td><div class="cell">学历专业</div></td>
+              <td><div class="cell">毕业时间</div></td>
+            </tr>
+            <tr>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="education">
+                    <el-select v-model="form0.education" placeholder="有/无">
+                      <el-option label="有" value="有"></el-option>
+                      <el-option label="无" value="无"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <span class="tips education"></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="existingLevel">
+                    <el-select
+                      v-model="form0.existingLevel"
+                      placeholder="学历等级"
+                    >
+                      <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-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>
+                  <span class="tips existingLevel"></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="existingMajor">
+                    <el-input
+                      v-model="form0.existingMajor"
+                      placeholder="如:土木工程"
+                    ></el-input>
+                  </el-form-item>
+                  <span class="tips existingMajor"></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="" prop="graduateTime">
+                    <el-date-picker
+                      type="date"
+                      placeholder="选择日期"
+                      format="yyyy-MM-dd"
+                      value-format="yyyy-MM-dd"
+                      v-model="form0.graduateTime"
+                      style="width: 100%"
+                    ></el-date-picker>
+                  </el-form-item>
+                  <span class="tips graduateTime"></span>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-input
+                      v-model="form0.isCertificate"
+                      placeholder="如 建筑工、安全员"
+                    ></el-input>
+                  </el-form-item>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-input v-model="form0.explain"></el-input>
+                  </el-form-item>
+                </div>
+              </td>
+            </tr>
+            <tr class="graybg">
+              <td colspan="6"><div class="cell">工作经历及业绩情况</div></td>
+            </tr>
+            <tr>
+              <td><div class="cell">单位名称</div></td>
+              <td><div class="cell">工程名称</div></td>
+              <td><div class="cell">开竣工时间(年月日)</div></td>
+              <td><div class="cell">担任职务及负责的工作</div></td>
+              <td><div class="cell">工程造价</div></td>
+              <td><div class="cell">工程获奖情况</div></td>
+            </tr>
+            <tr
+              v-for="(item, tindex) in form0.experienceBos"
+              :key="tindex + 'tr'"
+            >
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-input
+                      v-model="item.companyName"
+                      placeholder="公司名称"
+                    ></el-input>
+                  </el-form-item>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-input
+                      v-model="item.projectName"
+                      placeholder="工程名称"
+                    ></el-input>
+                  </el-form-item>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-col :span="11">
+                      <el-date-picker
+                        type="date"
+                        placeholder="选择日期"
+                        format="yyyy-MM-dd"
+                        value-format="yyyy-MM-dd"
+                        v-model="item.projectStartTime"
+                        style="width: 100%"
+                      ></el-date-picker>
+                    </el-col>
+                    <el-col class="line" :span="2">-</el-col>
+                    <el-col :span="11">
+                      <el-date-picker
+                        placeholder="选择日期"
+                        format="yyyy-MM-dd"
+                        value-format="yyyy-MM-dd"
+                        v-model="item.projectEndTime"
+                        style="width: 100%"
+                      ></el-date-picker>
+                    </el-col>
+                  </el-form-item>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-input
+                      v-model="item.work"
+                      placeholder="如:施工员,协助项目日常施工管理工作"
+                    ></el-input>
+                  </el-form-item>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-input
+                      v-model="item.cost"
+                      placeholder="XX万元"
+                    ></el-input>
+                  </el-form-item>
+                </div>
+              </td>
+              <td>
+                <div class="cell">
+                  <el-form-item label="">
+                    <el-input
+                      v-model="item.condition"
+                      placeholder="荣获“XXXXX奖”..."
+                    ></el-input>
+                  </el-form-item>
+                </div>
+              </td>
+            </tr>
+          </tbody>
+        </table>
+        <!-- <div style="text-align: center">
+          <el-button
+            type="text"
+            icon="el-icon-circle-plus-outline"
+            @click="addordelrow(0, 1)"
+            >添加工作经验新行</el-button
+          ><el-button
+            type="text"
+            @click="addordelrow(0, 2)"
+            icon="el-icon-remove-outline"
+            >删除工作经验最后一行</el-button
+          >
+        </div> -->
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="Modal = false">关闭</el-button>
+        <!-- <el-button
+          type="primary"
+          @click="submitForm('form0')"
+          :loading="uploading"
+          >确 定</el-button
+        > -->
+      </div>
+    </el-dialog>
+    <el-dialog
+      width="400px"
+      class="take-photo"
+      :visible.sync="Modal2"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :show-close="false"
+    >
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary">刷新重学</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      Modal: false,
+      subjectNames: 0, //0技术员,1助理工程师
+      Modal2: false,
+      uploading: false,
+      errcode: 0,
+      form0: {
+        goodsId: 0,
+        type: "",
+        experienceBos: [
+          {
+            companyName: "",
+            projectStartTime: "",
+            projectEndTime: "",
+            work: "",
+            cost: "",
+            condition: "",
+          },
+        ],
+      },
+      rules0: {
+        type: [{ required: true, message: "请选择评审/认定", trigger: "blur" }],
+        userName: [{ required: true, message: "请输入姓名", trigger: "blur" }],
+        major: [{ required: true, message: "请输入", trigger: "blur" }],
+        companyName: [{ required: true, message: "请输入", trigger: "blur" }],
+        insured: [{ required: true, message: "请输入", trigger: "blur" }],
+        insuredStartTime: [
+          { required: true, message: "请选择日期", trigger: "blur" },
+        ],
+        insuredEndTime: [
+          { required: true, message: "请选择日期", trigger: "blur" },
+        ],
+        education: [{ required: true, message: "请选择", trigger: "blur" }],
+        existingLevel: [{ required: true, message: "请输入", trigger: "blur" }],
+        existingMajor: [{ required: true, message: "请输入", trigger: "blur" }],
+        graduateTime: [
+          { required: true, message: "请选择日期", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  methods: {
+    //拍照
+    openBoxs(subjectNames, goodsId, value) {
+      this.subjectNames = subjectNames;
+      if (subjectNames == "技术员") this.form0.goodsId = goodsId;
+      this.Modal = true;
+      if (value) this.form0 = JSON.parse(value);
+    },
+    addordelrow(num, addordel) {
+      if (num == 0) {
+        if (addordel == 1)
+          this.form0.experienceBos.push({
+            companyName: "",
+            projectStartTime: "",
+            projectEndTime: "",
+            work: "",
+            cost: "",
+            condition: "",
+          });
+        else
+          this.form0.experienceBos.pop({
+            companyName: "",
+            projectStartTime: "",
+            projectEndTime: "",
+            work: "",
+            cost: "",
+            condition: "",
+          });
+      }
+    },
+    submitForm(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.uploading = true;
+          this.$request
+            .techniciancheck(this.form0)
+            .then((res) => {
+              console.log(res);
+              var tipsarr = document.getElementsByClassName("tips");
+              for (var i = 0; i < tipsarr.length; i++) {
+                tipsarr[i].innerHTML = "";
+              }
+              if (res.data.id) {
+                //成功
+                this.$emit("toPaymentTech", res.data.id); //重置
+              } else {
+                var arr_err = res.data.checkVos;
+                for (var i = 0; i < arr_err.length; i++) {
+                  let element = document.getElementsByClassName(
+                    arr_err[i].field
+                  )[0];
+                  // console.log(arr_err[i].field,element);
+                  element.innerHTML = arr_err[i].reason;
+                }
+                this.$message.warning("请按要求修改");
+              }
+            })
+            .catch((err) => {
+              this.$message.warning(err.msg);
+            })
+            .finally(() => {
+              this.uploading = false;
+            });
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
+    },
+    openBoxsRestart(errcode) {
+      this.errcode = errcode;
+      this.time = 180;
+      this.Modal2 = true;
+      this.times2 = setInterval(() => {
+        if (this.time <= 0) {
+          clearInterval(this.times2);
+          this.Modal2 = false;
+          if (this.errcode == 557) {
+            location.reload();
+          } else {
+            this.$emit("resetSection", this.errcode); //重置
+          }
+        } else {
+          this.time--;
+        }
+      }, 1000);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-form-item {
+  margin-bottom: unset !important;
+}
+.el-form-item__error {
+  position: relative !important;
+}
+.tips {
+  color: red;
+  font-size: 12px;
+}
+.size {
+  font-size: 24px;
+  text-align: center;
+}
+.el-table {
+  width: 100%;
+  border-collapse: collapse;
+}
+
+.el-table .graybg {
+  background-color: #f5f7fa;
+  font-weight: 600;
+}
+.el-table tr {
+  text-align: center;
+  font-weight: 500;
+}
+.el-table th {
+  background-color: #f5f7fa;
+  padding: 12px 0;
+  text-align: left;
+  border-bottom: 1px solid #ebeef5;
+  position: relative;
+  cursor: pointer;
+  user-select: none;
+}
+
+.el-table th:hover {
+  background-color: #f0f2f5;
+}
+
+.el-table th .cell {
+  padding: 0 10px;
+  display: flex;
+  align-items: center;
+}
+
+.el-table th .sort-caret {
+  display: inline-flex;
+  flex-direction: column;
+  margin-left: 5px;
+  color: #c0c4cc;
+}
+
+.el-table th .ascending {
+  margin-bottom: -3px;
+}
+
+.el-table th .descending {
+  margin-top: -3px;
+}
+
+.el-table th .sort-caret.active {
+  color: #409eff;
+}
+
+.el-table td {
+  padding: 12px 0;
+  border: 1px solid #ebeef5;
+}
+
+.el-table td .cell {
+  padding: 0 10px;
+}
+
+.el-table tbody tr:hover {
+  background-color: #f5f7fa;
+}
+
+.el-table .el-table__row--striped {
+  background-color: #fafafa;
+}
+</style>

+ 4 - 4
src/utils/request.js

@@ -8,11 +8,11 @@ import { paramMate } from "@/utils/common";
 
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
-// export const baseURL = process.env.VUE_APP_BASE_API
-// export const BASE_IMG_URL = process.env.VUE_APP_IMG_API
+export const baseURL = process.env.VUE_APP_BASE_API
+export const BASE_IMG_URL = process.env.VUE_APP_IMG_API
 // export const baseURL = 'http://192.168.1.123:5030'
-export const baseURL = 'https://cloud.xyyxt.net/'
-export const BASE_IMG_URL = 'https://file.xyyxt.net'
+// export const baseURL = 'https://cloud.xyyxt.net/'
+// export const BASE_IMG_URL = 'https://file.xyyxt.net'
 const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分
   baseURL: baseURL, 

+ 11 - 1
src/views/Marketing/order/orderList/index.vue

@@ -29,6 +29,9 @@
       <template slot="btn" slot-scope="props">
         <el-button type="text" @click="jumpDetail(props.scope.row)"
           >订单收费信息</el-button
+        >
+         <el-button type="text" v-if="props.scope.row.artisanData" @click="showDetailTech(props.scope.row)"
+          >申报资料</el-button
         >
         <!-- <el-button type="text" @click="del(props.scope.row)">删除</el-button> -->
       </template>
@@ -40,6 +43,8 @@
       @handleSizeChange="handleSizeChange"
       @handleCurrentChange="handleCurrentChange"
     />
+    
+     <technician ref="technician" @toPaymentTech="toPaymentTech"></technician>
   </div>
 </template>
 
@@ -47,9 +52,10 @@
 import searchBoxNew from "@/components/searchBoxNew";
 import tableList from "@/components/tableList";
 import pagination from "@/components/pagination";
+import technician from "@/components/technician/index.vue";
 export default {
   name: "OrderList",
-  components: { searchBoxNew, tableList, pagination },
+  components: { searchBoxNew, tableList, pagination, technician, },
   data() {
     return {
       loading: false, //当前表单加载是否加载动画
@@ -421,6 +427,10 @@ export default {
     this.$refs.tableList.allCheckData = [];
   },
   methods: {
+    showDetailTech(row){
+      console.log(row)
+         this.$refs.technician.openBoxs(row.subjectNames,row.goodsId,row.artisanData);
+    },
     exportorder(){
       let arr = JSON.parse(JSON.stringify(this.formData));
       delete arr.pageNum