|
@@ -1,5 +1,22 @@
|
|
|
<template>
|
|
|
<div v-loading.fullscreen.lock="fullscreenLoading">
|
|
|
+ <el-dialog width="1140px" class="pickupList-ai" title="Ai识别客户名单" :visible.sync="AiVisible">
|
|
|
+ <div class="pickupList-ai-title">第一步:{{textToCopy}}<span @click="btn1">点击复制左侧文字</span></div>
|
|
|
+ <div class="pickupList-ai-title">第二步:打开<span @click="openkimi">KIML</span>,将上述文字和截图粘贴到KIMI文本框里</div>
|
|
|
+ <div class="pickupList-ai-title">第三步:将KIMI生成的内容复制到以下文本框</div>
|
|
|
+ <div class="pickupList-ai-textarea">
|
|
|
+ <el-input
|
|
|
+ style="width:100%"
|
|
|
+ type="textarea"
|
|
|
+ :rows="15"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="textarea">
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ <div class="pickupList-ai-btn">
|
|
|
+ <el-button @click="recognizeclick" size="small" type="primary">识别</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
<div class="pickuplist-all">
|
|
|
<div class="pickuplist-head">
|
|
|
<div class="pickuplist-head-li">
|
|
@@ -26,7 +43,8 @@
|
|
|
</div>
|
|
|
<div class="pickuplist-info-li">
|
|
|
<label>起止日期:</label>
|
|
|
- <span>{{ GroupInfo.visitStartDate | filter_time }}~{{ GroupInfo.visitEndDate | filter_time }}</span>
|
|
|
+ <span>{{ GroupInfo.visitStartDate | filter_time }}~{{ GroupInfo.visitEndDate | filter_time
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
<div class="pickuplist-info-li">
|
|
|
<label>天数/人数:</label>
|
|
@@ -35,11 +53,13 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="pickuplist-Upload-box">
|
|
|
+ <el-button style="margin-right: 10px;" size="small" type="primary" @click="AIshibie">AI识别</el-button>
|
|
|
<div slot="tip" class="el-upload__tip">只能识别jpg/png文件 </div>
|
|
|
<el-upload class="upload-demo" ref="upload" action="" :on-change="httpRequest" :on-remove="httpRequest"
|
|
|
accept=".png, .jpg, .jpeg" :limit="1" :file-list="fileList" :auto-upload="false">
|
|
|
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
|
|
|
- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">识别图片</el-button>
|
|
|
+ <el-button style="margin-left: 10px;" size="small" type="success"
|
|
|
+ @click="submitUpload">识别图片</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
<div class="pickuplist-table">
|
|
@@ -74,8 +94,8 @@
|
|
|
type="text" size="small">
|
|
|
详细
|
|
|
</el-button>
|
|
|
- <el-button @click.native.prevent="PostTourClientListDel(scope.$index, scope.row)" type="text"
|
|
|
- size="small">
|
|
|
+ <el-button @click.native.prevent="PostTourClientListDel(scope.$index, scope.row)"
|
|
|
+ type="text" size="small">
|
|
|
删除
|
|
|
</el-button>
|
|
|
</template>
|
|
@@ -127,8 +147,8 @@
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="width:395px ;" label="出生日期">
|
|
|
- <el-date-picker value-format="yyyy-MM-dd" size="medium" type="date" placeholder="选择出生日期" v-model.trim="pickupinif.birth"
|
|
|
- style="width: 100%;">
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd" size="medium" type="date" placeholder="选择出生日期"
|
|
|
+ v-model.trim="pickupinif.birth" style="width: 100%;">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item style="width:395px ;" label="舱位类型" prop="Accommodation">
|
|
@@ -175,9 +195,10 @@
|
|
|
<el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
<el-table-column property="date" label="姓" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-autocomplete popper-class="el-autocomplete-suggestion" :popper-append-to-body="false"
|
|
|
- class="inline-input" size="mini" v-model.trim="scope.row.lastName"
|
|
|
- :fetch-suggestions="querySearch" @select="DTPromptChecked(scope.row)"></el-autocomplete>
|
|
|
+ <el-autocomplete popper-class="el-autocomplete-suggestion"
|
|
|
+ :popper-append-to-body="false" class="inline-input" size="mini"
|
|
|
+ v-model.trim="scope.row.lastName" :fetch-suggestions="querySearch"
|
|
|
+ @select="DTPromptChecked(scope.row)"></el-autocomplete>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="名" width="100">
|
|
@@ -230,16 +251,18 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="出生日期" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-date-picker value-format="yyyy-MM-dd" :clearable="false" size="mini" type="date" placeholder="出生日期"
|
|
|
- v-model.trim="scope.row.birthDay" style="width: 100%;padding-left: 0px;padding-right: 0px;">
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd" :clearable="false" size="mini" type="date"
|
|
|
+ placeholder="出生日期" v-model.trim="scope.row.birthDay"
|
|
|
+ style="width: 100%;padding-left: 0px;padding-right: 0px;">
|
|
|
</el-date-picker>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="舱位类型" width="115">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-select size="mini" style="width:100%" v-model="scope.row.shippingSpaceTypeId" clearable
|
|
|
- filterable placeholder="请选择">
|
|
|
- <el-option v-for="item in cangweiType" :key="item.id" :label="item.name" :value="item.id">
|
|
|
+ <el-select size="mini" style="width:100%" v-model="scope.row.shippingSpaceTypeId"
|
|
|
+ clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in cangweiType" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
@@ -495,7 +518,10 @@ export default {
|
|
|
fileList: [],
|
|
|
upLoadFile: [],
|
|
|
fullscreenLoading: false,
|
|
|
- timeStamp: ''
|
|
|
+ timeStamp: '',
|
|
|
+ AiVisible:false,
|
|
|
+ textToCopy:'按照姓、名、姓名拼音、性别、单位、职务、出生日期的json格式来排列整理(性别和出生日期通过身份证来识别,出生日期按照yyyy-MM-dd来整理)',
|
|
|
+ textarea:""
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -522,6 +548,22 @@ export default {
|
|
|
this.PostShareGroupInfo()
|
|
|
this.addhandoff()
|
|
|
},
|
|
|
+ //点击复制
|
|
|
+ btn1() {
|
|
|
+ navigator.clipboard
|
|
|
+ .writeText(this.textToCopy)
|
|
|
+ .then(() => {
|
|
|
+ this.$message.success("复制成功");
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ // 复制失败
|
|
|
+ that.$message.error("复制失败");
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //打开kimi
|
|
|
+ openkimi(){
|
|
|
+ window.open("https://kimi.moonshot.cn");
|
|
|
+ },
|
|
|
//清空
|
|
|
clearedlist() {
|
|
|
this.tourClientListInfos = [
|
|
@@ -1094,8 +1136,64 @@ export default {
|
|
|
|
|
|
});
|
|
|
},
|
|
|
+ //识别
|
|
|
+ recognizeclick(){
|
|
|
+ let textarea=JSON.parse(this.textarea)
|
|
|
+ for (let i = 0; i < textarea.length; i++) {
|
|
|
+ textarea[i].lastName=textarea[i].姓;
|
|
|
+ delete textarea[i].姓;
|
|
|
+ textarea[i].firstName=textarea[i].名;
|
|
|
+ delete textarea[i].名;
|
|
|
+ textarea[i].companyFullName=textarea[i].工作单位;
|
|
|
+ delete textarea[i].工作单位;
|
|
|
+ textarea[i].birthDay=textarea[i].出生日期;
|
|
|
+ delete textarea[i].出生日期;
|
|
|
+ textarea[i].sex=textarea[i].性别;
|
|
|
+ delete textarea[i].性别;
|
|
|
+ textarea[i].job=textarea[i].职务;
|
|
|
+ delete textarea[i].职务;
|
|
|
+ textarea[i].pinyin=textarea[i].姓名拼音.replace(' ','/');
|
|
|
+ delete textarea[i].姓名拼音;
|
|
|
+ textarea[i].iDcard="-";
|
|
|
+ textarea[i].phone="-";
|
|
|
+ textarea[i].shippingSpaceTypeId=460;
|
|
|
+ textarea[i].remark="";
|
|
|
+ textarea[i].isAccompany='否';
|
|
|
+ }
|
|
|
+ console.log(textarea);
|
|
|
+ this.dialogTableVisible=true;
|
|
|
+ this.AiVisible=false;
|
|
|
+ this.tourClientListInfos = textarea
|
|
|
+ var len = 10 - textarea.length
|
|
|
+ for (var jk = 0; jk < len; jk++) {
|
|
|
+ this.tourClientListInfos.push(
|
|
|
+ {
|
|
|
+ lastName: '',
|
|
|
+ firstName: "",
|
|
|
+ pinyin: '',
|
|
|
+ sex: '男',
|
|
|
+ isAccompany: '否',//陪同
|
|
|
+ companyFullName: "",
|
|
|
+ job: "",
|
|
|
+ idCardNo: "",
|
|
|
+ phone: "",
|
|
|
+ birthDay: "",
|
|
|
+ shippingSpaceTypeId: 460,
|
|
|
+ shippingSpaceSpecialNeeds: '',
|
|
|
+ hotelSpecialNeeds: '',
|
|
|
+ mealSpecialNeeds: '',
|
|
|
+ remark: '',
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //
|
|
|
+ AIshibie(){
|
|
|
+ this.AiVisible=true;
|
|
|
+ this.textarea='';
|
|
|
+ },
|
|
|
//多条保存
|
|
|
- manysave() {
|
|
|
+ manysave(){
|
|
|
var tourClientList = [];
|
|
|
console.log(this.tourClientListInfos)
|
|
|
for (var i = 0; i < this.tourClientListInfos.length; i++) {
|
|
@@ -1479,4 +1577,16 @@ export default {
|
|
|
.el-table th.el-table__cell>.cell {
|
|
|
text-align: left;
|
|
|
}
|
|
|
+.pickupList-ai-title{
|
|
|
+ margin-bottom: 10px;
|
|
|
+}
|
|
|
+.pickupList-ai-title span{
|
|
|
+ color: #409eff;
|
|
|
+ cursor:pointer;
|
|
|
+ text-decoration: underline;
|
|
|
+}
|
|
|
+.pickupList-ai-btn{
|
|
|
+ text-align: right;
|
|
|
+ margin-top: 10px;
|
|
|
+}
|
|
|
</style>
|